package com.ymm.lulutong.service;

import com.ymm.lulutong.dto.OrderShipperDTO;
import com.ymm.lulutong.request.QueryShipperDTO;
import com.ymm.lulutong.dto.ShowShipperDTO;
import com.ymm.lulutong.utils.Result;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author guorui
 */

@Service
@Component
public interface ShipperProfileService {
    /**
     * 获取货主信息
     *
     * @param shipperId 货主id
     * @return 货主DTO
     */
    Result<OrderShipperDTO> getOrderShipperDTO(Long shipperId);

    /**
     * 分页获取货主信息
     * @return 货主信息列表
     */
    Result<List<ShowShipperDTO>> listShowShipperDTOsByPage(Integer pageNum, Integer pageSize);

    /**
     * 分页条件查询目标货主
     * @return 符合条件的货主信息列表
     */
    Result<List<ShowShipperDTO>> listShowShipperDTOsOnConditionByPage(Integer pageNum, Integer pageSize, QueryShipperDTO queryShipperRequest);

    /**
     * 根据提供的ids返回OrderShipperDTO列表
     *
     * @param ShipperIds id列表
     * @return OrderShipperDTO列表
     */
    Result<List<OrderShipperDTO>> listOrderShipperDTOsByShipperIds(List<Long> ShipperIds);
}
